-- 表达式
-- 算数
print(1+2)
print(2^-3) -- 指数 0.125
print(10%3) -- 1
-- 关系,结果是boolean,nil只与nil相等
print(1==2) print(1>=2)
print(1~=2) --不等
-- table,函数等只有引用同一个变量才相等
a={} b=a
print(a==b) -- true
-- 字符串按照字母顺序比较大小
print('2'>'15') --true
-- 逻辑,and or not(返回boolean),and和or都是短路求值
print(4 and 5) -- 5 and 第一个为假时,返回第一个,否则返回第二个
print(nil or 3) --3 or 第一个为真返回第一个,否则返回第二个
x=x or "default" -- 如果x没有初始化(nil)或者为false,则赋一个默认值
x=5 y=6
max=(x>y) and x or y  -- 如果x>y,返回x,否则返回y
print(not nil) --true
-- 字符连接,字符不可变,连接会创建一个新字符串,如果是数字,会转换成字符
print("侯" .. "征")
print(2 .. 5) -- 25
-- table构造式,可构造数组，map等
t1={} t2={1,2,3,5} t3={k1="v1",k2="v2"} -- t3的key只能是标识符，会被当成字符串
t4={[0]=4;5;6} -- 这种构造式可以以0为索引起点,后面的如果是数组形式,自动自增,逗号可以用分号替换
print(t3["k1"]) -- 取值,只能是字符串或者
print(t3.k2)
print(t2[4]) -- 数组下标从1开始
print(t4[0]) -- 4